package cn.iocoder.yudao.module.member.controller.app.user.vo;

import cn.iocoder.yudao.framework.common.validation.Mobile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;

@Schema(description = "用户 APP - 身份证号信息填入")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AppMemberUserIdNumberReqVO {

    @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "王刚")
    @NotEmpty(message = "姓名不能为空")
    @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
    private String name;

    @Schema(description = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED, example = "")
    @NotEmpty(message = "身份证号码不能为空")
    @Length(min = 4, max = 6, message = "手机验证码长度为 4-6 位")
    @Pattern(regexp = "^(\\d{15}|\\d{17}[0-9X])$", message = "身份证号码格式不正确")
    private String idNumber;

    @Schema(description = "手机号",requiredMode = Schema.RequiredMode.REQUIRED,example = "15878962356")
    @NotBlank(message = "手机号不能为空")
    @Mobile
    private String recommenderMobile;

}
